/**
 * 邮箱
 * @param {*} s
 */
export function isEmail (s) {
  return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}

/**
 * 手机号码
 * @param {*} s
 */
export function isMobile (s) {
  return /^1[0-9]{10}$/.test(s)
}

/**
 * 数字校验
 * @param {*} s
 */
export const isNumber = (rule, value, callback) =>{
  const number= /^[0-9]*$/
  if(!value){
    return callback(new Error('请输入必填项必填'));
  }else if(!number.test(value)){
    return callback(new Error('请输入数字'))
  }else{
    callback()
  }
 
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone (s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL (s) {
  return /^http[s]?:\/\/.*/.test(s)
}

/**
 * 中文校验
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validateContacts = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('请输入中文'))
  }
  if (!/^[\u0391-\uFFE5A-Za-z]+$/.test(value)) {
    callback(new Error('不可输入特殊字符'))
  } else {
    callback()
  }
}

/**
 * 是否手机号码
 * @param rule
 * @param value
 * @param callback
 */
export function validatePhone(rule, value,callback) {
  const reg =/^[1][3-9][0-9]{9}$/;
  if(value==''||value==undefined||value==null){
    callback(new Error('请输入手机号码'));
  }else {
    if ((!reg.test(value)) && value != '') {
      callback(new Error('手机号格式不正确'));
    } else {
      callback();
    }
  }
}

/**
 * 密码校验
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validatePsdReg = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('请输入密码'))
  }
  if (!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(value)) {
    callback(new Error('请输入6-20位英文字母、数字或者符号（除空格），且字母、数字和标点符号至少包含两种'))
  } else {
    callback()
  }
}

/**
 * 是否手机号码或者固话
 * @param rule
 * @param value
 * @param callback
 */
export function validatePhoneTwo(rule, value, callback) {
  const reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;;
  if (value == '' || value == undefined || value == null) {
    callback();
  } else {
    if ((!reg.test(value)) && value != '') {
      callback(new Error('请输入正确的电话号码或者固话号码'));
    } else {
      callback();
    }
  }
}
/**
 * 中英文
 * @param rule
 * @param value
 * @param callback
 */
export function validateChineseEnglish (rule,value,callback){
  const reg = /^[\u0391-\uFFE5A-Za-z0-9]+$/;
    if (!value){
      return callback(new Error('请输入必填项'));
    }else if (value.length < 1 || value.length >60){
      return callback(new Error('名称长度在 1 到 60 个字符'));
    }
    else if (!reg.test(value)){
      return callback(new Error('名称仅支持中英文及数字'));
    }
    else {
      callback();
    }
  };
